package com.blog.dazi.utils;

import java.time.LocalDate;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Random;

public class TravelInfoGenerator {
    public static void main(String[] args) {
        Map<String, Object> travelInfo = generateRandomTravelInfo();
        System.out.println(travelInfo);
    }

    public static Map<String, Object> generateRandomTravelInfo() {
        Map<String, Object> travelInfo = new HashMap<>();

        // 生成开始时间
        LocalDate startDate = LocalDate.now().plusDays(new Random().nextInt(30)); // 从今天开始往后最多30天
        travelInfo.put("startTime", startDate);

        // 生成旅行天数
        int duration = new Random().nextInt(10) + 1; // 最短1天，最长10天
        travelInfo.put("days", duration);

        // 生成结束时间
        LocalDate endDate = startDate.plusDays(duration);
        travelInfo.put("endTime", endDate);

        // 生成旅游内容
        String[] destinations = {"北京", "上海", "广州", "深圳", "成都", "西安"};
        String destination = destinations[new Random().nextInt(destinations.length)];

        // 生成更丰富的旅游内容
        Map<String, Object> tripDetails = new LinkedHashMap<>();
        tripDetails.put("目的地", destination);
        tripDetails.put("特色景点", generateRandomAttractions());
        tripDetails.put("推荐美食", generateRandomFood());
        tripDetails.put("建议活动", generateRandomActivities());
        StringBuilder tripDetailsString = new StringBuilder();
        for (Map.Entry<String, Object> entry : tripDetails.entrySet()) {
            tripDetailsString.append(entry.getKey()).append(": ").append(entry.getValue()).append("\n");
        }

        travelInfo.put("content", tripDetailsString.toString());

        return travelInfo;
    }

    public static String generateRandomAttractions() {
        String[] attractions = {"长城", "故宫", "天安门广场", "颐和园", "西湖", "九寨沟", "黄山", "张家界", "兵马俑", "山海关",
                "泰山", "武陵源", "阳朔", "华山", "丽江古城", "大理洱海", "若尔盖草原", "巴音布鲁克草原", "稻城亚丁", "婺源",
                "广州塔", "珠穆朗玛峰", "黄果树瀑布", "三清山", "梅里雪山", "泸沽湖", "桂林漓江", "长白山", "东方明珠塔", "青海湖",
                "峨眉山", "恩施大峡谷", "蓝天碧海", "石林", "哈尔滨冰雪大世界", "云台山", "雁荡山", "海口鼓浪屿", "嘉峪关", "壶口瀑布",
                "扬州瘦西湖", "黄山云谷索道", "龙胜梯田", "草原", "恒山", "玉龙雪山", "乌镇", "大观园", "秦始皇陵", "稻城",
                "纳木错", "仙女山", "大云山", "哈尔滨索菲亚教堂", "长春世界雕塑公园", "鼓浪屿", "月牙泉", "嘉兴南湖", "白洋淀", "东极岛",
                "南京夫子庙", "泰山玉皇顶", "西双版纳", "阳江海陵岛", "梵净山", "西藏布达拉宫", "琼海分界洲岛", "波动星球水上乐园", "广州动物园", "成都熊猫基地",
                "厦门鼓浪屿", "新疆天山大峡谷", "桂林象鼻山", "张掖丹霞地貌", "武当山", "西安城墙", "常州中国恐龙园", "广东长隆野生动物园", "青岛啤酒博物馆", "沈阳故宫",
                "湖南岳阳楼", "苏州园林", "吉林长白山", "河南少林寺", "山东威海", "黑龙江阿布扎比冰雪大世界", "江西庐山", "四川乐山大佛", "云南石林", "新疆喀纳斯湖",
                "黄山", "九寨沟", "桂林漓江", "张家界天门山", "武陵源", "华山", "峨眉山", "成都武侯祠", "青城山", "都江堰",
                "普陀山", "鼓浪屿", "泰山", "三清山", "庐山", "壶口瀑布", "五台山", "恩施大峡谷", "武夷山", "龙门石窟",
                "云冈石窟", "少林寺", "峨眉山", "乌镇", "西塘古镇", "周庄古镇", "丽江古城", "大理洱海", "泸沽湖",
                "稻城亚丁", "巴音布鲁克草原", "喀纳斯湖", "赛里木湖", "敦煌莫高窟", "嘉峪关", "月牙泉", "青海湖", "塔尔寺",
                "藏南", "珠穆朗玛峰", "波密", "林芝", "八宿", "拉萨布达拉宫", "大昭寺", "扎什伦布寺", "色达五明佛学院",
                "峨眉山", "九华山", "三清山", "黄山", "武夷山", "庐山", "恩施大峡谷", "峨眉山", "乌镇", "西塘古镇",
                "周庄古镇", "丽江古城", "大理洱海", "泸沽湖", "稻城亚丁", "巴音布鲁克草原", "喀纳斯湖", "赛里木湖", "敦煌莫高窟",
                "嘉峪关", "月牙泉", "青海湖", "塔尔寺", "珠穆朗玛峰", "拉萨布达拉宫", "大昭寺", "扎什伦布寺", "色达五明佛学院"};
        return attractions[new Random().nextInt(attractions.length)];
    }

    public static String generateRandomFood() {
        String[] foods = {
                "宫保鸡丁", "麻婆豆腐", "回锅肉", "鱼香肉丝", "红烧肉",
                "东坡肉", "麻辣香锅", "水煮鱼", "酸菜鱼", "口水鸡",
                "剁椒鱼头", "小龙虾", "麻辣烫", "干锅牛蛙", "酸辣粉",
                "重庆小面", "云吞面", "烤鸭", "北京炸酱面", "老北京炸酱面",
                "糖醋排骨", "京酱肉丝", "春饼", "糖醋鱼", "三鲜煎饺",
                "生煎包", "葱油饼", "扬州炒饭", "东坡鱼", "东坡肘子",
                "红烧鱼", "糖醋里脊", "麻婆茄子", "梅菜扣肉", "酸菜白肉",
                "东坡肉", "水煮肉片", "荔枝肉", "金针菇炒肉", "红烧茄子",
                "家常豆腐", "酸辣土豆丝", "宫保虾仁", "干煸豆角", "怪味鸡",
                "葱烧海参", "鱼香茄子", "夫妻肺片", "东坡肉", "松鼠桂鱼",
                "麻辣小龙虾", "麻辣香锅", "干煸豆角", "水煮鱼片", "水煮肉片",
                "剁椒鱼头", "酸菜鱼", "红烧肉", "回锅肉", "宫保鸡丁",
                "麻婆豆腐", "鱼香肉丝", "麻辣烫", "重庆小面", "云吞面",
                "烤鸭", "北京炸酱面", "春饼", "糖醋排骨", "京酱肉丝",
                "糖醋鱼", "生煎包", "葱油饼", "扬州炒饭", "红烧鱼",
                "麻婆茄子", "梅菜扣肉", "酸菜白肉", "水煮肉片", "荔枝肉",
                "金针菇炒肉", "红烧茄子", "家常豆腐", "酸辣土豆丝", "宫保虾仁",
                "干煸豆角", "葱烧海参", "鱼香茄子", "夫妻肺片", "松鼠桂鱼",
                "麻辣小龙虾", "干锅牛蛙", "酸辣粉", "三鲜煎饺", "水煮鱼",
                "口水鸡", "东坡肘子", "怪味鸡"
        };
        return foods[new Random().nextInt(foods.length)];
    }

    public static String generateRandomActivities() {
        String[] activities = {
                "登高远眺", "参加当地节日活动", "体验特色手工艺品制作", "参与当地民俗表演", "参加烹饪课程",
                "探访古迹名胜", "徒步探险", "沙滩嬉戏", "浮潜探索", "观赏花海",
                "购物血拼", "尝试冲浪", "乘坐热气球", "观看音乐剧", "参观博物馆",
                "品尝当地特色饮品", "钓鱼", "滑雪", "骑自行车", "游览植物园",
                "欣赏日出日落", "尝试滑翔伞", "参观艺术展览", "乘坐观光车", "享受温泉",
                "参观动物园", "探索地下洞穴", "参加夜间城市观光", "品尝当地特色甜点", "参与水上运动",
                "观看歌舞表演", "参观古堡", "游览庙宇寺庙", "体验农家乐", "参观葡萄园",
                "参加儿童乐园活动", "观赏瀑布", "品尝当地海鲜", "欣赏壮丽风景", "参与民俗工艺制作",
                "享受按摩SPA", "参观科技馆", "参观电影拍摄地", "观看赛马比赛", "参加户外露营",
                "参观历史遗迹", "参观潜艇博物馆", "参观水族馆", "参加滑水运动", "尝试当地美食"
        };
        return activities[new Random().nextInt(activities.length)];
    }
}
